<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    var arr = [1, 2, 3];

    var obj = { name: "张三", age: 18, height: "177cm", weight: "70kg" };


    // 以前将数组和对象转字符串   toString()   => 原数据的结构被破坏了
    // console.log(arr.toString());  // "1,2,3"
    // console.log(obj.toString());  // "[object Object]"


    // 有没有什么方法 在保留数组和对象结构的情况下 将其转换为字符串(json字符串)

    var arr = [1, 2, 3];  // '[1, 2, 3]'

    var obj = { name: "张三", age: 18, height: "177cm", weight: "70kg" };
    // '{ "name": "张三", "age": 18, "height": "177cm", "weight": "70kg" }'


    // 自己写  => 麻烦
    // var arrStr = '[' + arr.join(',') + ']';
    // console.log(1, arrStr);

    // var list = [];
    // for (var key in obj) {
    //     var val = obj[key];
    //     var str = `"${key}":"${val}"`
    //     list.push(str);
    // }
    // // console.log(list);

    // var objStr = '{' + list.join(',') + '}';
    // console.log(2, objStr);

    // eval('[1,2,3]')
    // eval('({ "name": "张三",  "age": 18, "height": "177cm", "weight": "70kg" })')


    // 官方给了  JSON对象(window.JSON 全局对象)
    // stringify()    将数组和对象转化为JSON字符串(在保留数组和对象结构的情况下 将其转换为字符串)
    // parse()        将JSON字符串转化为数组和对象 
    console.log(JSON);


    var arr = [1, 2, 3];  // '[1, 2, 3]'
    var obj = { name: "张三", age: 18, height: "177cm", weight: "70kg" };

    var arrStr = JSON.stringify(arr);
    var objStr = JSON.stringify(obj);
    console.log(1, arrStr);
    console.log(2, objStr);


    var arr1 = JSON.parse(arrStr);
    var obj1 = JSON.parse(objStr);
    console.log(arr1);
    console.log(obj1);
















</script>

</html>